home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / strategy / xpuzzles.3 / xpuzzles / xpuzzles-5.3.1 / xrubik / README < prev    next >
Text File  |  1996-04-11  |  9KB  |  220 lines

  1.     X-BASED RUBIK'S CUBE(tm)
  2.     ====================    Magic cube X widgets, V5.3.1
  3.  
  4.  
  5.     It has been tested on the following platforms:
  6.  
  7.     HP 3xx & 700        HP-UX 9.0x    X11R5
  8.     Sun4, SPARC        SunOS 4.1.3    X11R4
  9.     Sun4, SPARC        SunOS 5.4    X11R5
  10.     PC, 486            Linux 1.0.9    X11R5(*)
  11.     PC, 486            Linux 1.2.8    X11R6(**)
  12.  
  13.     *    Keypad 5 key may not work, in which case, try it with the
  14.     Num-Lock on
  15.     **    Keypad may not work, since various keycodes may not be defined
  16.     by default.  Check that "KP_1 - KP_9, Home, Up, Prior, Left,
  17.     Begin, Right, End, Down, Next" are defined towards the end of
  18.     /usr/lib/X11/etc/xmodmap.std .  If not defined
  19.     cp /usr/lib/X11/etc/xmodmap.std /usr/lib/X11/xinit/.Xmodmap
  20.     and then motify this or create your own at ${HOME}/.Xmodmap .
  21.     You should just have to uncomment them (get rid of some '!').
  22.     This should be done before X is started.
  23.  
  24.     If yours is not in this list, please let me know -- thanks. The
  25.     most updated source could be found on ftp.x.org under
  26.     /contrib/games/puzzles.
  27.  
  28. HOW TO BUILD?
  29.  
  30.     Do you have Motif?  If so, uncomment line 28 of Imakefile.
  31.  
  32.     It should be easy. Edit the Imakefile (or Makefile.std, see below)
  33.     for appropriate settings of variable SCOREFILE, then do:
  34.     xmkmf
  35.     make
  36.     xrubik  [motif version will be xmrubik]
  37.  
  38.     Note: if you don't have 'xmkmf' or the "Makefile" it generates
  39.     doesn't work well, edit Makefile.std for appropriate settings for
  40.     XINCLUDEPATH and XLIBPATH, then try:
  41.     make -f Makefile.std
  42.         xrubik
  43.  
  44.     or if you have Motif, uncomment appropriate sections, then try:
  45.     make -f Makefile.std all.xm
  46.     xmrubik
  47.  
  48.     You should have Rubik.ad (or Stupid.ad) copied to $(HOME)/Rubik or 
  49.     /usr/lib/X11/app-defaults/Rubik to run, especially if the background
  50.     is similar to one of the faces. Edit this file for your preferences.
  51.     You might want to move xrubik into /usr/bin/X11 (or wherever your
  52.     X binaries are).
  53.     You might also want to move xrubik.man to /usr/man/man6/xrubik.6
  54.  
  55. ANYTHING SPECIAL IN USING?
  56.  
  57.     Click on the left mouse button to move a piece.  Release it on a
  58.       piece in the same row and on the face.  The puzzle will then turn
  59.       towards where the mouse button was released.
  60.     Click on the middle mouse button toggle the practice mode. (This is
  61.       good for learning moves).  Also 'P' or 'p' does the same thing.
  62.       One must double click on the middle mouse button if the puzzle is
  63.       being worked on.
  64.     Click on the right mouse button if you want to randomize the puzzle.
  65.       Also 'R' or 'r' does the same thing.  One must double click on
  66.       the right mouse button if the puzzle is being worked on.
  67.     'I' or 'i' to increase the number of cubes.
  68.     'D' or 'd' to decrease the number of cubes.
  69.     'O' or 'o' to toggle orient mode. (I prefer the orient mode since
  70.       it is slightly more challenging).
  71.     'S', 's' to auto-solve.  It only works on 1x1x1, 2x2x2, 3x3x3 cubes.
  72.       For the 3x3x3 it only solves it in the non-orient mode.
  73.     'U' or 'u' to undo last move.
  74.     'G' or 'g' to get a saved puzzle.
  75.     'W' or 'w' to write or save a puzzle.
  76.     'Q', 'q', or Control-C to kill program.
  77.  
  78.     Key pad is defined for 2d rubik as:
  79.         /
  80.  
  81.         8
  82.         ^
  83.     4 < 5 > 6
  84.         v
  85.         2
  86.  
  87.     The key pad along with the use of the mouse will allow you to move the
  88.     cube i.e.,
  89.               KP_DIVIDE=>CCW
  90.               KP_8=>Top
  91.     KP=>Left  KP_5=>CW        KP_6=>Right
  92.               KP_2=>Bottom
  93.  
  94.     Key pad for 3d rubik, use your intuition (is this a cop out or what?).
  95.     The key pad is defined differently depending on which side of the cube
  96.     your mouse is pointing at. One thing that stays the same is KP_5=>CW.
  97.  
  98.     The control key allows you to move the whole cube at once without
  99.     being entered as a move.  Hold down the control key while using the
  100.     left mouse button or the keypad.
  101.  
  102.     One has to orient the faces in orient mode, besides getting all the
  103.     faces to be the same color. To do this one has to get the lines to
  104.     be oriented in the same direction, this only matters with center
  105.     cubes (i.e. those cubes not on a corner or edge). This does add
  106.     complexity so there are 2 sets of records.
  107.  
  108.     Try resizing the cube. Notice the puzzle resizes to take advantage
  109.     of the "room" available.
  110.  
  111.     The title is in the following format (non-motif version):
  112.     xrubik{2|3}d: {1|2|3|4|5|6} @ (<Number of moves>/\
  113.         {<Record number of moves>|NEVER|PRACTICE}) - <Comment>
  114.     {2|3}: current dimensional view
  115.     {1|2|3|4|5|6}: number of cubes per edge
  116.     {<Record...}: puzzle is either in practice mode or record mode
  117.        In record mode, if there is no record of the current puzzle, it
  118.        displays "NEVER".
  119.  
  120.     If you were looking for a auto-solver, sorry. One of the problems in
  121.     auto-solvers the generally don't work for different number of cuts.
  122.     If you know of one let me know. There is a real neat 3x3x3 cube called
  123.     "magiccube" with a better 3-D look, a auto-solver, and Motif. Use
  124.     "archie" to find "magiccube" at the site nearest you.
  125.  
  126.     Also a tesseract (4D cube) would be nice. (I heard a 3^N cube has been
  127.     built in software and solved!)
  128.  
  129.     Personally, I have solved 1-3 using this program, 2-5 using the
  130.     physical cubes, and 6 to my knowledge have never been done (be the
  131.     first on your block). If you want you can play with MAXCUBES and
  132.     set it for 7 but then the graphics start messing up. 7 is neat
  133.     because if it was a physical cube corner pieces would fall off when
  134.     a face is turned.
  135.  
  136.     Refer to the man page for detailed command line options.
  137.  
  138.     If you want further information on puzzles, I'll be glad :-) to send
  139.     it to you.
  140.  
  141. SAVE FORMAT
  142.  
  143.     The format is not standard.  The reason is that this is simple to
  144.     produce and the standard notation is no good for variable number of
  145.     cubelets.  The format will probably change to become more readable.
  146.     Consider the 2d cross representation:
  147.  
  148.     size: 1-6 the number of cubes per row
  149.     orient: 0 false, 1 true lines on cube to be oriented
  150.     practice: 0 false, 1 true
  151.     moves: 0-MAXINT
  152.  
  153.     startingPosition:
  154.       0       R     where the starting unrandomized faces would be,
  155.     1 2 3   Y W G   each face has size * size cubes
  156.       4       O     if orient mode, orientation number follows face number
  157.       5       B       0 up, 1 right, 2 down, and 3 left.
  158.  
  159.     This is then followed by the moves
  160.     move #: face position direction control
  161.       each turn is with respect to a face and position.
  162.     Position is 0 to size * size - 1.  Position 0 is in the upper left.
  163.     Direction is represented as 0 up, 1 right, 2 down, 3 left, 5 clockwise,
  164.       and 7 counterclockwise.
  165.     Control is represented as 0 or 1, 1 if the whole cube is moved at once
  166.       (here i and j do not matter), 0 if not.  The xrubik record keeper
  167.       does not count a control move as a move, but here we do. 
  168.  
  169.     Caution: the program may crash on corrupted input.
  170.  
  171.     If you have a Rubik's cube you can't solve (2x2x2 or 3x3x3) enter
  172.     it in rubik.data file.  Have size = 2 or 3, orient = 0, practice = 0,
  173.     randomized = 1, and moves = 0 and the number representation for the
  174.     color of the cubelet faces (usually 0=R, 1=Y, 2=W, 3=G, 4=O, 5=B).
  175.     Bring up xrubik, hit 'e' to enter your configuration and then 's' to
  176.     solve your cube and then 'w' to write out the steps.  Then examine
  177.     your rubik.data file. 
  178.  
  179. FOUND A BUG?
  180.  
  181.     Send bugs reports and fixes to the author. For bugs, please include
  182.     as much information as to their location as possible, since I may not
  183.     have the resources to duplicate the them.
  184.  
  185.     David Albert Bagley,    bagleyd@hertz.njit.edu
  186.  
  187. HISTORY
  188.  
  189.   [Apr 11, 96]    V5.3.1: Even sized cubes had errors since 5.2.
  190.   [Apr 08, 96]    V5.3: Minor changes.
  191.   [Jan 31, 96]    V5.2: Puzzle can now moved by a more intuitive drag and
  192.         drop approach.  Pieces will invert, when selected.
  193.         Now using dynamic allocation, so there is no maximum size.
  194.   [Dec 15, 95]    V5.1: Minor updates, RNG for 32/64 bit, border color
  195.         to make faces look more realistic.
  196.   [Oct 06, 95]    V5.0: Xt/Motif, your choice.
  197.   [May 16, 95]    V4.10: Warnings removed from Sun's cc and lint and now
  198.         include a random number generator.
  199.   [Mar 13, 95]    V4.9: Removed lint warnings and added a VMS make.com .
  200.   [Nov 11, 94]    V4.8: Conservative guess for random number generator.
  201.   [Oct 11, 94]    V4.7: Bug fix for save with undos.
  202.   [Sep 28, 94]    V4.6: Now allows undos, saves, and recalls.
  203.   [Aug 08, 94]    V4.5: Auto-solves from practice mode.
  204.   [Jun 23, 94]    V4.4: Auto-solves up to 3x3x3 courtesy of
  205.         Michael B. Martin <martinm@sps1.phys.vt.edu>.
  206.   [Jun 15, 94]    V4.3: Mistakenly used a Boolean variable in an array.
  207.   [Jun 02, 94]    V4.2: Minor changes, R6.
  208.   [May 31, 94]    V4.1: Minor changes, record sometimes displayed "32767"
  209.         instead of "NONE".
  210.   [May 10, 94]    V4.0: Xt version.
  211.         I got some good ideas from oclock.
  212.   [May 20, 93]    V3.0: Motif version.
  213.         I got some good ideas from Douglas A. Young's
  214.         book: "The X Window System Programming and Applications
  215.         with Xt OSF/Motif Edition", particularly his dial widget.
  216.         I got some good ideas on presentation from Q. Zhao's
  217.         tetris.
  218.   [Jan 16, 92]    V2.0: XView version.
  219.   [Jan 16, 91]    V1.0: SunView version.
  220.